<script>
	export default {
		mounted() {
			/**官网有很多关于关于sdk 其他的监听方法（比如：有新的消息，用户资料更新等等）
			 * 详情可对照： https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html
			 * 监听的含义：服务端发生了数据变更---前端全局可以接收到变更通知--前端就可以自动触发某个事件来更新相应数据
			 * */
			// 登录成功后会触发 SDK_READY 事件，该事件触发后，可正常使用 SDK 接口
			this.tim.on(this.$TIM.EVENT.SDK_READY, this.onReadyStateUpdate, this);
			// 收到新消息
			this.tim.on(this.$TIM.EVENT.MESSAGE_RECEIVED, this.onReceiveMessage);
			// 会话列表更新
			this.tim.on(this.$TIM.EVENT.CONVERSATION_LIST_UPDATED, event => {
				this.$store.commit("updateConversationList", event.data);
			});
		},
		methods: {
			onReadyStateUpdate({name}) {
				const isSDKReady = name === this.$TIM.EVENT.SDK_READY ? true : false;
				//自动监听并更新 sdk 的ready 状态 （未登录是 notReady  登录后是ready）
				this.$store.commit("toggleIsSDKReady", isSDKReady);
                //sdk ready 后  肯定完成了登录操作    这里可以获取用户存储在im的基础信息/离线消息/黑名单列表
			},
			
			onReceiveMessage({data: messageList}) {
				// this.handleAt(messageList);
				this.$store.commit("pushCurrentMessageList", messageList);
			},
			//根据消息列表请求聊天对象的用户信息 并完成数据拼接
		
		},
		onLaunch: function() {
			
			
			
			const that = this;
			const data = {
				type: 'xinliConfig'
			}
			this.$apiW.findGlobalcodeMap(data).then(res => {
				uni.setStorageSync('xinliConfig',res.data);
			})
			
			let onMessageReceived =async function(event) {
				console.log('111111111111111111111');
			  // 收到   推送的单聊、群聊、群提示、群系统通知的新消息，可通过遍历 event.data 获取消息列表数据并渲染到页面
			  // event.name - TIM.EVENT.MESSAGE_RECEIVED
			  // event.data - 存储 Message 对象的数组 - [Message]
			  
			  //                   
			  let conversationList = await that.tim.getConversationList();
			  conversationList = conversationList.data.conversationList;
			  let count = 0;
			  if( conversationList.length ){
				  conversationList.forEach( item => {
					// unreadCount
					count += item.unreadCount;
				  })
			  }
			  if(count > 0 ){
				  uni.setTabBarBadge({
					index: 1,
					text: ''+count
				  })
			  }
			};
			this.tim.on('onMessageReceived', onMessageReceived);
			console.log('111111111111111111111');
			
			// 显示分享按钮。
			
			// #ifndef H5
			uni.showShareMenu({
				showShareItems : ['qq', 'qzone', 'wechatFriends', 'wechatMoment']	
			});
			// #endif
		},
		onShow: function() {
			console.log('App Show')
			if(process.env.NODE_ENV === 'development'){
			    console.log('开发环境')
			}else{
			    console.log('生产环境')
			}
		},
		onHide: function() {
			console.log('App Hide')
		}

	}
</script>

<style>
	/*每个页面公共css */
	@import "./common/app.css";
	@import './static/style/thorui.css';
	
</style>
